Note: this post is a work in progress.
For the past several weeks I have been thinking a lot about automated testing as part of the development process. While I have had faith in software testing for some time, I guess I have never really had a reason; the systems I worked on prior to my current position were minuscule and honestly, the tools used were overkill and most effort put into testing was wasted. That isn't to say that small scale applications do not need testing. The problem is, the majority of small scale applications do not have the infrastructure to make testing an integral part of the development process, rather than an after thought in the release process. That delivers tests that are patchy at best, and really only deliver superficial results. Perhaps this in itself is a case for Ruby on Rails.
While I was initially very skeptical about Rails, I am slowly becoming a believer. But better than believing, I am thinking that it has promise. What's turned me into a believer is a combination of observation and experience--the haphazard testing situation of HM, discussions with fellow senior HM developers that allude to the situation being equally as bleak in similarly sized applications, a pile of resumes I reviewed which showed an utter lack of testing experience, the lack of available end-to-end testing tools for .NET and Java, etc. All of these things embolden the out-of-box testing strategy of Rails.
While I haven't done any research on the matter, I sense a large void in serious testing tools in "enterprise" platforms (both Java EE and .NET, surprisingly). There are some great testing tools for Java, and I'm sure equally great tools for .NET, there is a lack of a comprehensive suite like that of Rails.
I think the issue with .NET is the junior role that is assumed of developers. While the bulk of developers are junior, I have found in my short stint as a mentor that they can do anything as long as there is a comprehensive API and/or procedure for them to follow. And the issue with Java EE is simply the fact that tools like DbUnit, Selenium, JWebUnit, Cactus, etc are all open source and there have been few attempts to glue them together into a coherent testing strategy (one notable exception is DDSteps).